﻿namespace Jsl.FxCop.Targets
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    public class CallBaseDisposeTarget_no_Dispose
    {
        private void Dummy()
        {
        }
    }

    public class CallBaseDisposeTarget_non_virtual_Dispose
    {
        private void Dispose()
        {
        }
    }

    public abstract class CallBaseDisposeTarget_abstract_Dispose
    {
        protected abstract void Dispose();
    }

    public class CallBaseDisposeTarget_virtual_Dispose
    {
        protected virtual void Dispose()
        {
        }
    }

    public class CallBaseDisposeTargetBase
    {
        protected virtual void Dispose(bool disposing)
        {
        }
    }

    public class CallBaseDisposeTarget_Dispose_doesnt_call_base : CallBaseDisposeTargetBase
    {
        protected override void Dispose(bool disposing)
        {
        }
    }

    public class CallBaseDisposeTarget_Dispose_does_call_base : CallBaseDisposeTargetBase
    {
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);
        }
    }
}